import java.io.File;
import java.util.Scanner;
//indexOf 有个值 适合来判断没有  contains没有值适合来判断有
public class Demo15 {
    private static void scan(File currentFile, String key) {
        if (!currentFile.isDirectory()) {
            return;
        }
        File[] files = currentFile.listFiles();
        if (files == null || files.length == 0) {
            return;
        }

        for (File f : files) {
            if (f.isFile()) {
                // 针对普通文件进行处理.
                // 判定文件名是否符合要求并提示用户删除
                doDelete(f, key);
            } else {
                // 针对目录进行处理
                // 继续递归
                scan(f, key);
            }
        }
    }

    private static void doDelete(File f, String key) {
        if (!f.getName().contains(key)) {
            // 文件名中不包含指定的关键字.
            return;
        }
        // 提示用户, 是否确认要删除
        Scanner scanner = new Scanner(System.in);
        System.out.println(f.getAbsolutePath() + " 是否确认要删除 Y/n");
        String choice = scanner.next();
        if (choice.equals("Y") || choice.equals("y")) {
            f.delete();
        }
    }

    public static void main(String[] args) {
        System.out.println("请输入要搜索的路径: ");
        Scanner scanner = new Scanner(System.in);
        String rootPath = scanner.next();
        File rootFile = new File(rootPath);
        if (!rootFile.isDirectory()) {
            System.out.println("输入的路径不存在");
            return;
        }
        System.out.println("请输入要删除的文件名字的关键字");
        String key = scanner.next();

        // 进行递归查找
        scan(rootFile, key);
    }
}
